/**
 * Copyright (c) 2007,中企动力华南研发中心<br>
 * All rights reserved.<br>
 */
package com.ce.pms.charge.dao;

import com.ce.pms.base.dao.IPmsBaseDao;
import com.ce.pms.charge.model.CollectionFileDomain;
import com.ce.pms.charge.vo.CollectionFileVO;
import com.sitechasia.webx.core.support.Page;

/**
 * 功能描述：<br>
 * @author 易贤建 创建日期：2008-9-22<br>
 */
public interface IBankCollectionDao extends IPmsBaseDao {
	/**s
	 * 功能描述:查询银行出盘列表<br>
	 * @param collectonfilevo
	 * @return
	 * Create author:yixianjian <br>
	 * Create on:2008-9-22  <br>
	 */
	public Page queryOutBankCollection(CollectionFileVO collectonfilevo);

	/**
	 * 功能描述:  查询银行回盘列表<br>
	 * @param collectonfilevo
	 * @return
	 * Create author:yixianjian <br>
	 * Create on:2008-9-22  <br>
	 */
	public Page queryInBankCollection(CollectionFileVO collectonfilevo);
	/**
	 * 功能描述:根据ID查询银行会盘domain<br>
	 * @param keyword
	 * @return
	 * Create author:yixianjian <br>
	 * Create on:2008-10-7  <br>
	 */
	public CollectionFileDomain getCollectionFileById(Long keyword);

	/**
	 * 功能描述:给一个银行ID，差托收文件表中ID最大的domain<br>
	 * @param id
	 * @return
	 * Create author:yixianjian <br>
	 * Create on:2008-10-30  <br>
	 * Edit author:  <br>
	 * Edit on:    <br>
	 * Why:     <br>
	 */
	public CollectionFileDomain getCollectionFileDomainForMaxKeyword(Long id);
	/**
	 * 功能描述:查询指定回盘文件名且原先回盘文件为空的信息<br>
	 * @param inFileName
	 * @return<br>
	 * Create author:罗军林<br>
	 * Create on:2008-10-7<br>
	 * Edit author:<br>
	 * Edit on:<br>
	 * Why:<br>
	 */
	public CollectionFileDomain getCollectionFileByInFileName(String inFileName);

	/**
	 * 功能描述:得到当天出盘文件的最大的流水序号<br>
	 * @param prifix
	 * @return<br>
	 * Create author:罗军林<br>
	 * Create on:2008-9-28<br>
	 * Edit author:<br>
	 * Edit on:<br>
	 * Why:<br>
	 */
	public int getMaxOutFileNameSeq();
	/**
	 * 功能描述:在托收明细中,查询银行帐号对应托收的记录数<br>
	 * 如果指定状态,则查询银行帐号对应的托收指定状态的记录数
	 * @param bankAccount
	 * @param status
	 * @return
	 * Create author:yixianjian <br>
	 * Create on:2008-10-24  <br>
	 * Edit author:  <br>
	 * Edit on:    <br>
	 * Why:     <br>
	 */
	public Long getBankAccountCountFromCollectionDetail(String bankAccount,String ... status);

}
